Model.ExternalFiles

導入

v5.0

詳細

このモデルに関するすべての外部ファイルを含むFileReferenceCollectionを戻します。入力ファイルのみがこのリストに追加されます(グラフィクスファイル、オーディオファイル、リファレンスモデルファイルなど)。

JScript の例

/*
        This example demonstrates how to get the list of external files on a specific model.
*/
NewScene ("", false);
// First import a model so we have some external files to find
var FPath = XSIUtils.BuildPath(
        Application.InstallationPath( siFactoryPath ),
        "Data", "XSI_SAMPLES", "Models", "Man_Face.emdl"
);
var refModels = ImportRefModels( FPath );
// Enumerate all files related to this model
var oModel = refModels(0);
var l_extFileList = oModel.ExternalFiles;
for ( var i=0; i<l_extFileList.Count; i++ ) 
{
         printFileInfo( l_extFileList(i) );
}
// Expected results:
// INFO : Models
// INFO : ORIGINAL: <factory_path>\Data\XSI_SAMPLES\Models\Man_Face.emdl
// INFO : RESOLVED: <factory_path>\Data\XSI_SAMPLES\Models\Man_Face.emdl
// INFO : UNC     : <factory_path>\Data\XSI_SAMPLES\Models\Man_Face.emdl
// INFO : Models
// INFO : Skipping non-existent file
// ---------------------------------------------------------------------------
//      CONVENIENCE FUNCTION
//
function printFileInfo( in_file ) {
        Application.LogMessage( in_file.FileType );
        if ( in_file.FileExists() ) {
                // Get the original path 
                var o_path = in_file;
                // Get the resolved path
                var r_path = o_path.ResolvedPath;
                // Get the UNC path
                var u_path = o_path.UNCPath;
                // Print all three results
                Application.LogMessage( "ORIGINAL: " + o_path );
                Application.LogMessage( "RESOLVED: " + r_path ); 
                Application.LogMessage( "UNC     : " + u_path );
        } else {
                Application.LogMessage( "Skipping non-existent file" );
        }
}

関連項目

Scene.ExternalFiles FileReference